This disclosure relates generally to video processing and more specifically relates to entropy coding of video data. Video processing systems are employed in various demanding applications, including high-definition television, missile guidance systems, and internet video streaming. Such applications often demand compact cost-effective systems for encoding, transmitting, and decoding high quality compressed video relatively accurately, quickly, and efficiently.
Efficient video processing systems are particularly important in so-called H.264 applications, where video processing systems are subjected to strict standards. H.264 is digital video codec standard written by the Joint Video Team (JVT) comprising the International Telecommunication Union (ITU)—Telecommunication Standardization Sector (T) and the International Organization for Standardization (ISO)/International Electrotechnical Commission (IEC) Moving Picture Experts Group (MPEG). The H.264 standard is also called the ISO/IEC MPEG-4 Part 10 standard or the ITU-T H.264 standard.
In an example H.264 system, pixels of a video image are logically grouped into 16×16 blocks of pixels called macroblocks. The image is partitioned into horizontal bands, called slices, each containing several macroblocks. Conventionally, a video frames must be partitioned into multiple slices, and sub-optimal motion search methods must be used due to relatively inefficient video processing methods and hardware speed constraints. For example, H.264 standards specify use of certain nested loops to perform Context. Adaptive Binary Arithmetic Coding (CABAC) entropy coding in an H.264 encoder, which can result in relatively inefficient serial processing operations.